package com.wisevar.thirdplatform.gateway.model.payorder;

import com.wisevar.thirdplatform.gateway.model.common.CompanyIdParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;

@Data
public class SyncPayOrderParam extends CompanyIdParam implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("平台订单号")
    @NotEmpty(message = "平台订单号不能为空")
    private String outOrderNo;

    @ApiModelProperty("收款人身份证号码")
    @NotEmpty(message = "收款人身份证号码不能为空")
    private String idCard;

    @ApiModelProperty("收款人姓名")
    @NotEmpty(message = "收款人姓名不能为空")
    private String accountName;

    @ApiModelProperty("收款人账号")
    @NotEmpty(message = "收款人账号不能为空")
    private String accountNo;

    @ApiModelProperty("收款人手机号")
    @NotEmpty(message = "收款人手机号不能为空")
    private String mobile;

    @ApiModelProperty("实际发放金额（实际到账，不包含服务费），保留两位小数点")
    @NotNull(message = "实际发放金额不能为空")
    @Min(value = 0L, message = "实际发放金额不能小于{value}")
    private BigDecimal payAmount;

    @ApiModelProperty("服务费，保留两位小数点")
    @Min(value = 0L, message = "服务费不能小于{value}")
    private BigDecimal serviceFee;

    @ApiModelProperty("发放完成时间，格式：yyyy-MM-dd HH:mm:ss")
    @NotEmpty(message = "发放完成时间不能为空")
    private String succeedTime;

    @ApiModelProperty("发放备注")
    private String remarks;
}
